草庐IT

php - Laravel hasMany 和 belongsTo 参数

全部标签

具有参数类型的 C# Func 委托(delegate)

如何在C#中获得Func表示具有此签名的方法的参数?XmlNodecreateSection(XmlDocumentdoc,paramsXmlNode[]childNodes)我尝试使用Func类型的参数但是,哦,ReSharper/VisualStudio2008疯狂地用红色突出显示它。更新:好的,谷歌搜索“c#paramsfunc”没有结果,但是“c#paramsdelegate”让我找到了thisquestion.按照JonSkeet的回答,看起来我可以创建一个delegate,说Foo,然后我的方法没有参数Func,我采用Foo类型的参数. 最佳答案

c# - String.Format 计算预期参数的数量

是否可以计算String.Format()字符串中预期参数/参数的数量?例如:“你好{0}。再见{1}”应该返回计数2。我需要在string.Format()抛出异常之前显示错误。感谢您的帮助。 最佳答案 您可以使用正则表达式,例如{(.*?)}然后只计算匹配项。如果您需要处理{0}{0}之类的情况(我想应该返回1),那么这会变得有点困难,但是您总是可以将所有匹配项放在一个列表中,然后在其上执行Linqselectdistinct.我在想类似下面的代码:varinput="{0}and{1}and{0}and{2:MM-dd-yyy

c# - 在 Ninject 3.0 中使用默认参数值

我有一个类,其构造函数的参数具有默认值。在Ninject2.2中,它将遵循[Optional]属性,并且在没有定义绑定(bind)的情况下可以正常工作publicEmployeeValidator([Optional]IValidatorpersonNameValidator=null)自从升级到Ninject3.0后,此对象的构建失败并显示一条消息,指出提供者返回了null:TestmethodValidatorIsolated.Tests.EmployeeValidatorTest.CreateEmployeeValidatorTestthrewexception:Ninject.

c# - 具有可变参数的函数的委托(delegate)

我有这样的功能voidfunc(paramsobject[]parameters){//FunctionBody}它可以接受如下类型的参数func(10,"hello",30.0);func(10,20);等等。我想为上述功能创建一个Action委托(delegate)。可能吗?如果不是那么为什么? 最佳答案 您不能使用现有的Action与会委托(delegate)params,但您可以这样声明自己的委托(delegate):publicdelegatevoidParamsAction(paramsobject[]arguments

c# - 如何为 string.Format 设置命名参数?

调用时出现C#错误:string.Format(format:"abbccc",1,22);错误是“命名参数规范必须在指定所有固定参数后出现”我该如何解决这个问题?[编辑]我更喜欢使用命名参数。 最佳答案 如果要指定格式参数的名称,还必须指定以下参数的名称:string.Format(format:"abbccc",arg0:1,arg1:22);这不是很有用,因为名称“arg0”和“arg1”根本没有说明参数。另外,只有到“arg2”的重载,所以如果你有更多的参数,你必须把它们放在一个数组中来命名参数:string.Format(

c# - params[] 可以作为 lambda 表达式的参数吗?

这个问题在这里已经有了答案:VariableparametersinC#Lambda(5个答案)关闭1年前。我最近开始探索lambda表达式,想到了一个问题。假设我有一个函数需要不确定数量的参数。我会使用params关键字来为可变数量的参数建模。我的问题:我可以用Lambda表达式做类似的事情吗?例如:Funcfoo=(paramsnumbers[])=>{intresult;foreach(intnumberinnumbers){result+=numbers;}returnresult;}如果是这样,就会出现两个子问题-是否有一种“好的”方式来编写这样的表达式,我什至想在某个时候编

c# - 定义一个接受不同参数的接口(interface)方法

我的应用程序使用连接到PC的测量仪器。我想让使用来自不同供应商的类似仪器成为可能。所以我定义了一个接口(interface):interfaceIMeasurementInterface{voidInitialize();voidClose();}到目前为止一切顺利。在测量之前,我需要设置仪器,这意味着不同仪器的参数会有很大不同。所以我想定义一个方法,该方法采用可以具有不同结构的参数:interfaceIMeasurementInterface{voidInitialize();voidClose();voidSetup(objectParameters);}然后我会将对象转换到我需要

c# - .Net WebServices 和 out/ref WebMethod 参数

我从我们的供应商之一那里收到了一些他们正在发布的网络服务的文档,他们非常具体地指出,在他们的一个WebMethods上,一个参数有out修饰符(?不确定这是否是正确的描述符)例如考虑以下WebMethod签名:[WebMethod]publicvoidHelloWorld(outstringstrVal){strVal="HelloWorld";}[显然实际方法不是HelloWorld方法]现在,我从未考虑过设计带有out/ref参数的WebMethod,这让我想知道他们为什么会使用它。为了理解这个设计决定的应用,我将一个原型(prototype)和一些基本的HelloWorld风格的

c# - 无法将派生类型转换为具有类型参数的基抽象类

我有一个简单的工厂方法,它根据所提供的泛型类型参数提供具体的实现实例。如果具体类继承自具有类型参数的公共(public)抽象基类,我将无法强制转换它们。编译器告诉我Error2Cannotconverttype'Car'to'VehicleBase'.如果我将抽象类替换为具有相同类型参数的接口(interface),或者如果我从抽象类中删除泛型类型参数,它就可以正常工作。interfaceIWheel{}classCarWheel:IWheel{}abstractclassVehicleBase{}classCar:VehicleBase{}classVehicleFactory{pu

c# - 泛型方法返回类型作为类型参数

我有一个扩展方法,可以将字符串值转换为各种类型,看起来像这样:publicstaticTToType(thisstringvalue,Tproperty){objectparsedValue=default(T);Typetype=property.GetType();try{parsedValue=Convert.ChangeType(value,type);}catch(ArgumentExceptione){parsedValue=null;}return(T)parsedValue;}然而,我对调用该方法时的样子不满意:myObject.someProperty=stringD